package ru.nsu.fit.shared.error_codes;

/**
 * User: vtimofeev
 * Date: 11/19/12
 * Time: 10:10 PM
 */

/**
 * Коды ошибок
 */
public enum ErrorCodes {

    /**
     * Выполнено успешно
     */
    NO_ERROR(0, "No error"),
    /**
     * Пользователь с таким логином уже существует
     */
    EXISTENT_USER(1, "Such login already exists"),
    /**
     * Ошибка при взаимодействии с СУБД
     */
    DATABASE_ERROR(2, "Internal database error"),
    /**
     * Пользователь не авторизован
     */
    NOT_AUTHORIZED(3, "Not authorized"),
    /**
     * Количество символов в вопросе больше чем должно быть
     * TODO добавить из констант количество символов по умолчанию
     */
    QUESTION_IS_TOO_LONG(4, "Question is too long"),

    ILLEGAL_QUESTION_OPTION(5, "Illegal question option"),

    WRONG_QUESTIONS_REQUEST(6, "Questions request is wrong"),

    QUESTION_WAS_ANSWERED(7, "Question has already been answered");

    /**
     *
     * @param code код ошибки
     * @param message текст ошибки
     */
    private ErrorCodes(int code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * Код ошибки
     */
    private int code;

    /**
     * Текс сообщения об ошибке
     */
    private String message;


    /**
     * @return Код ошибки.
     */
    public int getCode() {
        return code;
    }

    /**
     * @return Текс сообщения об ошибке.
     */
    public String getMessage() {
        return message;
    }
}
